package com.tju.resource.model;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 外发加工表
 */
@Data
public class TbOutward {
    /**
     * 外发加工记录id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 供应商Id
     */
    @NotNull(message = "请选择供应商！")
    private Long supplierId;

    /**
     * 外发日期
     */
    private String outgoingTime;

    /**
     * 总数量
     */
    private Long totalNumber;

    /**
     * 总金额
     */
    private Double totalAmount;

    /**
     * 备注
     */
    private String note;

    /**
     * 交货日期
     */
    @NotNull(message = "请填写交货日期！")
    private String deliveryTime;

    /**
     * 交货地址
     */
    private String deliveryAddress;

    /**
     * 审核人
     */
    private String reviewer;

    /**
     * 审核时间
     */
    private Date auditTime;

    /**
     * 审核状态（0:未审核，1:已审核）
     */
    private Long approveState;

    /**
     * 加工厂签名
     */
    private String supplierSignature;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 供应商实体
     */
    @TableField(exist = false)
    private TbSupplier tbSupplier;

    /**
     * 外发-订单记录中间表
     */
    @TableField(exist = false)
    @NotNull(message = "请选择外发订单！")
    private List<TbOutwardOrder> outwardOrderList;

    /**
     * 外发-耗材中间表
     */
    @TableField(exist = false)
    private List<TbOutwardConsumables> tbOutwardConsumablesList;
}